1. Field of the Invention
This invention relates generally to computer systems and, more particularly, to memory access for computer systems.
2. Description of the Related Art
Scientists and engineers often use measurement or instrumentation systems to perform a variety of functions, including laboratory research, process monitoring and control, data logging, analytical chemistry, test and analysis of physical phenomena, and control of mechanical or electrical machinery, to name a few examples. An instrumentation system typically includes transducers and other detecting means for providing “field” electrical signals representing a process, physical phenomena, equipment being monitored or measured, etc. For example, detectors and/or sensors are used to sense the on/off state of power circuits, proximity switches, pushbutton switches, thermostats, relays or even the presence of positive or negative digital logic-level signals. The instrumentation system typically also includes interface hardware for receiving the measured field signals and providing them to a computer system, such as a personal computer system. The computer system typically performs data analysis and presentation for appropriately analyzing and displaying the measured data.
Signal conditioning modules are typically provided for conditioning the acquired analog signals by amplifying, isolating, filtering or otherwise converting the signals to the appropriate signals for the computer system. As one example, the signals are then provided to a plug-in data acquisition (DAQ) input/output (I/O) board, or a computer system-based instrument which is plugged into one of the I/O slots of a computer system or otherwise connected to the computer system. Generally, the computer system has an I/O bus and connectors or slots for receiving I/O boards. Various computer systems and I/O buses may be used to implement a computer system for receiving the measurements. The computer system may receive measurements from multiple sources, where, for example, different sources may interface with the computer system through respective input modules.
A computer system may be actively involved in receiving data from an input module (such as a data acquisition device). The input module may include a memory such as a First In, First Out (FIFO) memory. Data transfer from the FIFO memory to a host memory may affect the performance of the computer system because the computer system may poll the status of the FIFO memory before each data transfer. In addition, where multiple channels of data are being sampled (e.g., during single point transfer), a status of each channel may need to be polled before transferring data associated with the channel. If a large number of channels are used, performance of the computer system may become especially slow.
In order to free up the host computer system CPU from low level data acquisition tasks, a DMA (Direct Memory Access) controller is typically included in a data acquisition device. The DMA controller may control transfers of data from the FIFO memory to the host computer memory. However, even with a DMA controller, the computer system may still have to poll a status of each channel before transferring data.